package com.goldgov.distancelearning.service;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import com.goldgov.synchronous.service.ConferenceSynchronous;

/** 
 * @ClassName: 远程教育 
 * @Description: TODO
 * @author hanxiangyu
 * @date 2018年6月20日 下午5:44:55 
 */
public class Distancelearning {
	
	
	private String distancelearningID;	//远程教育记录id
	private Integer activeState;		//启用状态
	private String beginDate;				//开始时间
	private String beginDateMobile;			//移动开始时间格式化
	
	private String endDate;				//结束时间
	private Integer quarter;		//季度
	private String year;			//年度
	private String distancelearningName;//远程教育名称
	private String defaultImageId;  //远程教育主图
	private String distancelearningSite;//地点
	private String distancelearningPresentation;	//远程教育介绍
	private String isSend;			//是否发送通知 1是 2否
	private Date publishDate;		//发布时间
	private Date createDate;		//创建时间
	private Date lastModifiedDate;//最后操作时间
	private String userID;		//发布人
	private String userName;	//发布人姓名	
	private Integer publishState; //发布状态  1发布 2 未发布
	private String[] userIDs;	//出席人ids
	private String[] courseIDs;	//课件ids
	private String compere;			//主持人
	private String videoId;			//录像id
	private String videoUrl;			//录像url
	private Integer videoTime;		//上传录像视频时长(秒)
	
	private String distancelearningType;//远程会议标签
	private String disType;   //远程会议类型 预留字段
	
	private String[] distancelearningTypes;//远程会议标签
	private Integer liveId;		//直播间ID
	private Integer liveStatus;	//直播状态 1开始直播 2直播结束
	private String liveUrl;		//直播地址
	
	private Integer meetingStatus;	//会议状态  0进行中 2未开始 1已结束
	private Integer userStatus;		//用户状态
	private Integer courseCount;	//课件数量
	private Integer headCount; //出席人总人数
	private Integer leaveNum;  //请假总人数
	private Integer singNum;  //签到总人数
	private Integer defaultNum;  //未签到总人数
	private List<DistancelearningUser> headList;//出席人机会   有请假和签到人员是已签到为主
	private List<DistancelearningUser> leaveList;//请假人员机会
	private List<DistancelearningUser> singList;//签到人员机会
	private List<DistancelearningUser> defaultList;//未签到人员机会
	
	private Integer count;	//次数
	private String organizationId;//所在机构id
	private String organizationName;//所在机构名称
	private List fileList;//文件集合
	private String duty;//发起人职务
	private Integer editState;//是否可编辑 1.可以  2.不可以
	private List<ConferenceSynchronous> conferenceSynchronous;//会议数
	private Integer orgNum;//机构数量
	private String avgReachNum;//平均完成度
	private double avgNum;
	private String attachOrder;
	private Integer attachNum;//文件数
	private Integer sumNum;//文件总数
	public Integer getEditState() {
		return editState;
	}
	public void setEditState(Integer editState) {
		this.editState = editState;
	}
	public String getDisType() {
		return disType;
	}
	public void setDisType(String disType) {
		this.disType = disType;
	}
	public String getVideoUrl() {
		return videoUrl;
	}
	public void setVideoUrl(String videoUrl) {
		this.videoUrl = videoUrl;
	}
	public Integer getVideoTime() {
		return videoTime;
	}
	public void setVideoTime(Integer videoTime) {
		this.videoTime = videoTime;
	}
	public String getDuty() {
		return duty;
	}
	public void setDuty(String duty) {
		this.duty = duty;
	}
	public Number getMeetingStatus() {
		return meetingStatus;
	}
	public Integer getUserStatus() {
		return userStatus;
	}
	public void setUserStatus(Integer userStatus) {
		this.userStatus = userStatus;
	}
	public void setMeetingStatus(Integer meetingStatus) {
		this.meetingStatus = meetingStatus;
	}
	public Integer getLiveId() {
		return liveId;
	}
	public void setLiveId(Integer liveId) {
		this.liveId = liveId;
	}
	public Integer getLiveStatus() {
		return liveStatus;
	}
	public void setLiveStatus(Integer liveStatus) {
		this.liveStatus = liveStatus;
	}
	public String getLiveUrl() {
		return liveUrl;
	}
	public void setLiveUrl(String liveUrl) {
		this.liveUrl = liveUrl;
	}
	public String[] getDistancelearningTypes() {
		return distancelearningTypes;
	}
	public void setDistancelearningTypes(String[] distancelearningTypes) {
		this.distancelearningTypes = distancelearningTypes;
	}
	public String getDistancelearningType() {
		return distancelearningType;
	}
	public void setDistancelearningType(String distancelearningType) {
		this.distancelearningType = distancelearningType;
	}
	public List getFileList() {
		return fileList;
	}
	public void setFileList(List fileList) {
		this.fileList = fileList;
	}
	public Integer getCourseCount() {
		return courseCount;
	}
	public void setCourseCount(Integer courseCount) {
		this.courseCount = courseCount;
	}
	public Integer getCount() {
		return count;
	}
	public void setCount(Integer count) {
		this.count = count;
	}
	
	public String getOrganizationName() {
		return organizationName;
	}
	public void setOrganizationName(String organizationName) {
		this.organizationName = organizationName;
	}
	public Integer getSingNum() {
		return singNum;
	}
	public void setSingNum(Integer singNum) {
		this.singNum = singNum;
	}
	public Integer getDefaultNum() {
		if (headCount != null) {
			defaultNum = headCount;
			if (leaveNum != null) {
				defaultNum = headCount - leaveNum;
			}
			if (singNum != null) {
				defaultNum = headCount - singNum - leaveNum;
			}
		}else {
			defaultNum = 0;
		}
		return defaultNum;
	}
	public void setDefaultNum(Integer defaultNum) {
		this.defaultNum = defaultNum;
	}
	public String getDistancelearningID() {
		return distancelearningID;
	}
	public void setDistancelearningID(String distancelearningID) {
		this.distancelearningID = distancelearningID;
	}
	public Integer getActiveState() {
		return activeState;
	}
	public void setActiveState(Integer activeState) {
		this.activeState = activeState;
	}
	
	public String getBeginDate() {
		return beginDate;
	}
	public void setBeginDate(String beginDate) {
		this.beginDate = beginDate;
	}
	public String getEndDate() {
		return endDate;
	}
	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}
	public Integer getQuarter() {
		return quarter;
	}
	public void setQuarter(Integer quarter) {
		this.quarter = quarter;
	}
	public String getYear() {
		return year;
	}
	public void setYear(String year) {
		this.year = year;
	}
	public String getDistancelearningName() {
		return distancelearningName;
	}
	public void setDistancelearningName(String distancelearningName) {
		this.distancelearningName = distancelearningName;
	}
	public String getDefaultImageId() {
		return defaultImageId;
	}
	public void setDefaultImageId(String defaultImageId) {
		this.defaultImageId = defaultImageId;
	}
	public String getDistancelearningSite() {
		return distancelearningSite;
	}
	public void setDistancelearningSite(String distancelearningSite) {
		this.distancelearningSite = distancelearningSite;
	}
	public String getDistancelearningPresentation() {
		return distancelearningPresentation;
	}
	public void setDistancelearningPresentation(String distancelearningPresentation) {
		this.distancelearningPresentation = distancelearningPresentation;
	}
	public String getIsSend() {
		return isSend;
	}
	public void setIsSend(String isSend) {
		this.isSend = isSend;
	}
	public Date getPublishDate() {
		return publishDate;
	}
	public void setPublishDate(Date publishDate) {
		this.publishDate = publishDate;
	}
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}
	public Date getLastModifiedDate() {
		return lastModifiedDate;
	}
	public void setLastModifiedDate(Date lastModifiedDate) {
		this.lastModifiedDate = lastModifiedDate;
	}
	public String getUserID() {
		return userID;
	}
	public void setUserID(String userID) {
		this.userID = userID;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public Integer getHeadCount() {
		return headCount;
	}
	public void setHeadCount(Integer headCount) {
		this.headCount = headCount;
	}
	public Integer getLeaveNum() {
		return leaveNum;
	}
	public void setLeaveNum(Integer leaveNum) {
		this.leaveNum = leaveNum;
	}
	public Integer getPublishState() {
		return publishState;
	}
	public void setPublishState(Integer publishState) {
		this.publishState = publishState;
	}
	public String[] getUserIDs() {
		return userIDs;
	}
	public void setUserIDs(String[] userIDs) {
		this.userIDs = userIDs;
	}
	public String[] getCourseIDs() {
		return courseIDs;
	}
	public void setCourseIDs(String[] courseIDs) {
		this.courseIDs = courseIDs;
	}
	public List<DistancelearningUser> getHeadList() {
		return headList;
	}
	public void setHeadList(List<DistancelearningUser> headList) {
		this.headList = headList;
	}
	public List<DistancelearningUser> getLeaveList() {
		return leaveList;
	}
	public void setLeaveList(List<DistancelearningUser> leaveList) {
		this.leaveList = leaveList;
	}
	public List<DistancelearningUser> getSingList() {
		return singList;
	}
	public void setSingList(List<DistancelearningUser> singList) {
		this.singList = singList;
	}
	public List<DistancelearningUser> getDefaultList() {
		return defaultList;
	}
	public void setDefaultList(List<DistancelearningUser> defaultList) {
		this.defaultList = defaultList;
	}
	public String getCompere() {
		return compere;
	}
	public void setCompere(String compere) {
		this.compere = compere;
	}
	public String getVideoId() {
		return videoId;
	}
	public void setVideoId(String videoId) {
		this.videoId = videoId;
	}
	public String getBeginDateMobile() {
		if (this.getBeginDate() != null) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
			try {
				String str = this.getBeginDate();
				int strIndex = str.indexOf(".");
				if (strIndex != -1) {
					str = str.substring(0,strIndex);
				}
				Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str);
				beginDateMobile = sdf.format(date);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		return beginDateMobile;
	}
	public void setBeginDateMobile(String beginDateMobile) {
		this.beginDateMobile = beginDateMobile;
	}
	public String getOrganizationId() {
		return organizationId;
	}
	public void setOrganizationId(String organizationId) {
		this.organizationId = organizationId;
	}
	public List<ConferenceSynchronous> getConferenceSynchronous() {
		return conferenceSynchronous;
	}
	public void setConferenceSynchronous(List<ConferenceSynchronous> conferenceSynchronous) {
		this.conferenceSynchronous = conferenceSynchronous;
	}
	public Integer getOrgNum() {
		return orgNum;
	}
	public void setOrgNum(Integer orgNum) {
		this.orgNum = orgNum;
	}
	public String getAvgReachNum() {
		return avgReachNum;
	}
	public void setAvgReachNum(String avgReachNum) {
		this.avgReachNum = avgReachNum;
	}
	public double getAvgNum() {
		return avgNum;
	}
	public void setAvgNum(double avgNum) {
		this.avgNum = avgNum;
	}
	public String getAttachOrder() {
		return attachOrder;
	}
	public void setAttachOrder(String attachOrder) {
		this.attachOrder=attachOrder;
	}
	public Integer getAttachNum() {
		return attachNum;
	}
	public void setAttachNum(Integer attachNum) {
		this.attachNum = attachNum;
	}
	public Integer getSumNum() {
		return sumNum;
	}
	public void setSumNum(Integer sumNum) {
		this.sumNum = sumNum;
	}
	
	
}
